package scenarios;

import java.util.ArrayList;


import game.Player;

public abstract class AbstractScenario {

	public long gametimeout = 0;
	
	public abstract String getName();
	public abstract String getDescription();
	public abstract boolean checkScenarioGameTimeout(long round);
	public abstract boolean checkWinConditions(Player p);
	
	private int state = 0;
	//state = 1 Gewonnen
	
	public int getState() {
		return state;
	}
	public void setState(int state) {
		this.state = state;
	}
	public String getStateString() {
		if (state == -1) {
			return "locked";
		} else if (state == 1) {
			return "complete";
		} else if (state == 0) {
			return "not complete";
		} else {
			return "";
		}
			
	}
	public static ArrayList<AbstractScenario> getScenarioList() {
		ArrayList<AbstractScenario> s = new ArrayList<AbstractScenario>();
		s.add(new DefendYourCityAgainst5Archers());
		s.add(new DefendYourCityAgainst10Longswordmen());
		s.add(new Defend_150A_100S_100L_50TH());
		return s;
	}
	
}
